package com.tencent.qf.team.dal;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * commdity_coupons_newstate
 *
 * @author
 */
@Data
public class CommdityCouponsNewstate implements Serializable {
    /**
     * 批次ID
     */
    private Long stockId;

    /**
     * 批次名称
     */
    private String stockName;

    /**
     * 1创建,2下线,3总发放上线,4单日发放上限
     */
    private Boolean actionType;

    /**
     * 批次描述
     */
    private String description;

    /**
     * 批次类型6渠道满减券
     */
    private Integer couponType = 0;

    /**
     * 总库存
     */
    private Integer maxCoupons = 0;

    /**
     * 单日库存
     */
    private Integer maxAmountByDay = 0;

    /**
     * 单人可领上限
     */
    private Integer maxCouponsPerUser = 0;

    /**
     * 单人每天可领取上限
     */
    private Long dailyMaxCouponsPerUser = 0l;

    /**
     * 领券开始时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date availableBeginTime;

    /**
     * 领券结束时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date availableEndTime;

    /**
     * 1 固定时间段，2 领取后开始N天，3 领取后次日开始N天 4领券当日起***天后可用，***天后结束可用
     */
    private Boolean availableUseType;

    /**
     * 可以核销的开始时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date availableUseBeginTime;

    /**
     * 可以核销的结束时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date availableUseEndTime;

    /**
     * available_user_type 为3的时候，这里填天数 代表领券当日起***天后可用
     */
    private Integer availableUseBeginPeriod = 0;

    /**
     * available_use_type为 3/4，这里填写天数，代表N天后结束可用
     */
    private Integer availableUsePeriod = 0;

    /**
     * 下线时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date offlineTime;

    private String redirectPageUrl;

    /**
     * 落地页跳转url类型,0空，1搭建页，2自定义链接
     */
    private Boolean readirectPageUrlType;

    /**
     * 活动开始时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date activityBeginTime;

    /**
     * 活动结束时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date activityEndTime;

    /**
     * 渠道shareId 123,124
     */
    private String shareId;

    /**
     * 门槛 单位分
     */
    private Integer threshold = 0;

    /**
     * 优惠金额 单位分
     */
    private BigDecimal money = BigDecimal.ZERO;

    /**
     * 已发库存
     */
    private Integer dispatchMaxCoupons = 0;

    /**
     * 单位已发库存数
     */
    private Integer dispatchDayCoupons = 0;

    /**
     * 使用范围描述信息
     */
    private String scopeDescription;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 审批人
     */
    private String auditUser;

    /**
     * 创建时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 上次更新时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 审批时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    private static final long serialVersionUID = 1L;
}